Dynomotion

Group: DynoMotion Message: 15275 From: lmp582002 Date: 1/1/2018
Subject: Tool Change

Howdy,


Working on a CNC router project and had an idea that I want to experiment with. I had an extra spindle motor hanging around, so I am making a second Z Axis for the same router. The idea would be to have two different tools in each spindle. When a tool change occurs it would activate the correct spindle for the correct tool. Seems like redefining the Z-Axis would be easy in a user program. What I am confused about is how I would change the X Position of the second Z-Axis. Is there a simple way to add the offset distance between spindles to the current position?


Thanks!


Scott

Group: DynoMotion Message: 15276 From: Hardy Family Date: 1/1/2018
Subject: Re: Tool Change
You should be able to define an X offset for the alternative tool.  Then, provided you use M6 Tn G43 Hn to set the tool offset, that will cause it to use the appropriate spindle's position.  Obviously, you will need to code an M6 routine to raise the unused spindle out of the way, and change the axis map for Z, but you probably know that...

Regards,
SJH


On Mon, Jan 1, 2018 at 9:14 PM, lmp582002@... [DynoMotion] <DynoMotion@yahoogroups.com> wrote:
 

Howdy,


Working on a CNC router project and had an idea that I want to experiment with. I had an extra spindle motor hanging around, so I am making a second Z Axis for the same router. The idea would be to have two different tools in each spindle. When a tool change occurs it would activate the correct spindle for the correct tool. Seems like redefining the Z-Axis would be easy in a user program. What I am confused about is how I would change the X Position of the second Z-Axis. Is there a simple way to add the offset distance between spindles to the current position?


Thanks!


Scott


Group: DynoMotion Message: 15277 From: bennyattwell Date: 1/2/2018
Subject: Re: Tool Change
g52 - temporary offset for x or y
g43 for tool height
Group: DynoMotion Message: 15281 From: lmp582002 Date: 1/2/2018
Subject: Re: Tool Change
Thanks! Looking in the tool file it has "X Offset" and "Y Offset". Are these applied when the G43 is called?

Auto tool changing is new to me. How is a tool setter typically used to input "Length" in the tool file. Is there a C program function that input the length for the tool file? I am currently using the following code to "Zero" my tool on my tool setter:

    Jog(2,100);             // jog slowly positive
    while (!ReadBit(10)) ;  // loop until IO bit goes high
    Jog(2,0); // stop
    while (!CheckDone(2)) ; // loop until motion completes 
DisableAxis(2); // disable the axis
    Zero(2); // Zero the position
EnableAxis(2); // re-enable the ServoTick
Move(2,-1000.0); // move some amount inside the limits

Maybe instead of Zero(2) it would write the tool length?
Group: DynoMotion Message: 15282 From: Hardy Family Date: 1/2/2018
Subject: Re: Tool Change
Yes, G43 Hn will apply the X,Y and length offsets of tool 'n' (which should be the same as the tool mounted with M6 Tn).

Dynomotion provides some C samples which include showing how to use a tool height setter and send the information dynamically back to the CNC (KMotionCNC) running on the PC.  But I think you would only want to do this if you were actually changing tools in the spindle.  If you just have two spindles with fixed tools, then there would be no need to re-measure the tool each time.

From memory, it is also possible to send XY tool offsets back to the PC, so it would be possible for your tool change (M6) code to enable the appropriate spindle as well as select one of the two XY offset data, appropriate to the spindle.

For example, you could make is so that odd numbered tools use spindle 1, and even numbers use spindle 2.  So the M6 code could just look at the tool number and bring the appropriate spindle into position and put the other one out of the way.  If the spindles were on a Y offset, then it could set the Y offset to 0 for spindle 1, and say 100 for spindle 2.

Regards,
SJH


On Tue, Jan 2, 2018 at 7:48 PM, lmp582002@... [DynoMotion] <DynoMotion@yahoogroups.com> wrote:
 

Thanks! Looking in the tool file it has "X Offset" and "Y Offset". Are these applied when the G43 is called?


Auto tool changing is new to me. How is a tool setter typically used to input "Length" in the tool file. Is there a C program function that input the length for the tool file? I am currently using the following code to "Zero" my tool on my tool setter:

    Jog(2,100);             // jog slowly positive
    while (!ReadBit(10)) ;  // loop until IO bit goes high
    Jog(2,0); // stop
    while (!CheckDone(2)) ; // loop until motion completes 
DisableAxis(2); // disable the axis
    Zero(2); // Zero the position
EnableAxis(2); // re-enable the ServoTick
Move(2,-1000.0); // move some amount inside the limits

Maybe instead of Zero(2) it would write the tool length?